<?php

namespace App\Http\Controllers\Admin;

use App\Http\Model\CarModel;
use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Validator;

class CarModelController extends CommonController
{
    //资源路由get.admin/brand
    //全部车型列表
    public function index()
    {
        //测试控制器模型的连接
//        echo 'get.admin/carModel idex';
        $carModels = CarModel::all();
//        dd($carModels);

        //分配模板,数据库所有数据
        return view('admin.carModel.index')->with('data',$carModels);
    }

    //资源路由post.admin/carModel
    //添加车型 功能
    public function store()
    {
        //测试
        $input = Input::all();
//        dd($input);
//        $input = Input::except('_token');  //除了token值之外
//        dd($input);

        //验证规则
        $rules=[
            'mname'=>'required',//必填
        ];

        //错误信息
        $msg = [
            'mname.required'=>'车型名称不能为空',//字段.规则
        ];

        //验证input提交信息
       $validator = Validator::make($input,$rules,$msg);//验证内容，规则，错误信息
//        dd($validator);
        if($validator->passes()){ //如果通过验证

            $re = CarModel::create($input);//把值直接写入CarModel
//            dd($re);
            if ($re){   //添加成功时
                return redirect('admin/carModel');
            }else{  //添加失败时
                return back()->with('errors','数据填充失败，请稍后重试！');//分配字符串，所以视图上提示错误的地方要做判断 ,因为all()
            }

        }else{  //没有通过验证时
//                dd($validator->errors()->all());//英文的错误信息，所以上面重新定义错误信息
            return back()->withErrors($validator); //返回元页面，将错误信息输出到页面
        }

    }

    //资源路由get. admin/carModel/create
    //添加车型 页面
    public function create()
    {
//        echo 'admin/carModel/create';
        //分配模板
        return view('admin/carModel/create');
    }


    //资源路由PUT|PATCH admin/carModel/{carModel};需要用PUT方法来提交
    //编辑车型  功能
    public function update($mid)
    {
//        echo $mid;
        //测试提交
//        dd(Input::all());
        $input = Input::except('_token','_method');
//        dd($input);
        //修改数据表数据
        $re = CarModel::where('mid',$mid)->update($input);
        if ($re){   //编辑成功时
            return redirect('admin/carModel'); //跳转

        }else{  //编辑失败时
            return back()->with('errors','数据编辑失败，请稍后重试！');  //返回编辑页，提示错误
        }
    }

    //资源路由get.   admin/carModel/{carModel}/edit
    //编辑车型  页面
    public function edit($mid)  //$mid是{carModel}穿过来的值
    {
//        echo $mid;
//        $omname = DB::table('CarModel')->where('mid',$mid)->value('mname');  //获取就数据：单个值mname
//        echo $omname;
        $omname = CarModel::find($mid);
//        dd($omname);

        //载入模板
        return view('admin/carModel/edit')->with('omname',$omname);
    }

    //资源路由get. admin/carModel/{brand}
    //显示单个车型信息
    public function show()
    {
        //
    }

    //资源路由DELETE. admin/carModel/{brand}
    //删除单个车型
    public function destroy($mid)
    {
        //测试有没有ajax传过来值
//        echo $mid;
        $re = CarModel::where('mid',$mid)->delete();
//        dd($re);

        if($re){
            $data = [
                'status' => 0,
                'msg' => '车型删除成功！',
            ];
        }else{
            $data = [
                'status' => 1,
                'msg' => '车型删除失败，请稍后重试！',
            ];
        }
        return $data;
    }

}
